USB not working when transferred to target.

M

Mike Warren

I'm at my wit's end here. Can anyone please offer *any* insight?

An image that works perfectly on my test machine does not work properly
when transferred to another identical target. No USB devices work.

These are the only log entries that seem odd to me:
Whole file available here: www.mike-warren.net/tmp/setupapi.log

[SetupAPI Log]
OS Version = 5.1.2600 Service Pack 3
Platform ID = 2 (NT)
Service Pack = 3.0
Suite = 0x0040
Product Type = 1
Architecture = x86

[2009/05/27 12:19:45 444.3 Driver Install]
#-019 Searching for hardware ID(s):
ide\diskwdc_wd2000js-00mhb0_____________________02.01c03,ide\wdc_wd2000j
s-00mhb0_____________________02.01c03,ide\diskwdc_wd2000js-00mhb0_______
______________,wdc_wd2000js-00mhb0_____________________02.01c03,gendisk
#-018 Searching for compatible ID(s): gendisk
#-198 Command line processed: C:\XPE\system32\services.exe
#I393 Modified INF cache "C:\XPE\inf\INFCACHE.1".
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#W059 Selecting best compatible driver failed. Error 0xe0000228: There
are no compatible drivers for this device.
#W157 Default installer failed. Error 0xe0000228: There are no
compatible drivers for this device.

<snip>

[2009/05/27 12:20:52 1204.1107]
#-198 Command line processed:
C:\XPE\Programs\EloTouchSystems\EloSetup.exe /iu /s
#I289 Removing device "HID\VID_04E7&PID_0050\6&1FCED9DB&0&0000".
#I048 Device removed.

[2009/05/27 12:20:52 1204.1490]
#-198 Command line processed:
C:\XPE\Programs\EloTouchSystems\EloSetup.exe /iu /s
#I289 Removing device "USB\VID_04E7&PID_0050\50U74882".
#I048 Device removed.

[2009/05/27 12:39:33 576.3 Driver Install]
#-019 Searching for hardware ID(s):
ide\diskwdc_wd2000js-00mhb0_____________________02.01c03,ide\wdc_wd2000j
s-00mhb0_____________________02.01c03,ide\diskwdc_wd2000js-00mhb0_______
______________,wdc_wd2000js-00mhb0_____________________02.01c03,gendisk
#-018 Searching for compatible ID(s): gendisk
#-198 Command line processed: C:\XPE\system32\services.exe
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#W059 Selecting best compatible driver failed. Error 0xe0000228: There
are no compatible drivers for this device.
#W157 Default installer failed. Error 0xe0000228: There are no
compatible drivers for this device.
 
T

Tals

Did you selected in the Target designer the following components:
USB Device
USB mass storage device
USB hub
FAT

??
 
M

Mike Warren

Tals said:
Did you selected in the Target designer the following components:
USB Device
USB mass storage device
USB hub
FAT

Yes, all those are included. The problem is not on the first device I
build the image for. It only occurs when I transfer the image to
another device.

After further testing, I now know a bit more about the problem.
Slobodan used to recommend deleting everything the the "Mounted
Devices" key to allow the hard drives to be found by PnP on new
devices, and I have done this since 2004. However, doing this now
causes this problem. If I don't delete the key, then I get a BSOD when
run on a new device. This didn't happen with any images I built pre
FP2007.

I know the normal procedure is to run FBReseal just before creating the
master image for distribution, but this is not desirable in my
situation because on the first boot after installation a dialog is
shown that says "Resealing in progress". In trying to create my own
look and feel, this does not look good. These machines do not share a
network with others of their kind so having unique SIDs should not
matter.

So it looks like something has changed in this area with FP2007 (I'm
now using SP3 and the behavior is the same)

Is it possible to suppress the "Resealing in progress" dialog? That
would allow me to use FBReseal as designed.

This would not be such a problem if XPe wasn't such a "black box". As
soon as someone wants to do something slightly different, hacking is
required (the Mounted Devices key mentioned above) and this causes
problems when MS changes something later. <sigh>

I would really appreciate any suggestions from anyone.
 
D

Dan Rogers

To add to what Tals has said, my configuration has:
USB 2.0
USB 2.0 Common
USB Mass Storage Device
USB Human Interface Device
USB NT Hardware Detect
USB Root Hub

I can add a USB keyboard and mouse, which are not normally attached, and
they become operational. I can plug in a USB key. I have not tried a USB
hard drive since the ones I have use NTFS which is not in my configuration.

One problem I have with USB is that I have no way to eject the devices. I
run minlogon/command shell so there is no graphical ejection wizard. I have
not found any command line component to eject a USB device.

DR
 
M

Mike Warren

Dan said:
To add to what Tals has said, my configuration has:
USB 2.0
USB 2.0 Common
USB Mass Storage Device
USB Human Interface Device
USB NT Hardware Detect
USB Root Hub

Hi Dan,

I don't have USB NT Hardware detect, but I'm not using USB boot so it
should not be necessary. I also believe that using USB NT Hardware
Detect makes USB flash drives show up as "Fixed" rather than
"Removable". This will cause a problem in my system.

Looks like I have not been able to describe my problem properly so I'll
try again.

I should add at this point that I have now changed to using FBReseal as
it was designed to be used and I still have the same problem. So my
problem is worse than I thought. I seem to remember that there were 2
or 3 "Support Incidents" included with the purchase of the XPe tools. I
used one several years ago. Can anyone confirm this, and would it still
be valid 5 years after purchase?

Here is what I do:

1/ build my image in the same way everyone else does. All dependencies
are satisfied.

2/ Copy this image from my dev machine to a hard drive in a sample of
my target devices and boot it. FBA runs. I do some manual configuration
of the image which includes several reboots. Part of this configuration
is to install some drivers that cannot be componentized.

3/ Run FBReseal and let the unit shut down.

4/ Copy the image from the first target device to another device built
from the same parts (motherboard, video, audio etc.)

5/ Boot this new device. After this device boots, USB keyboard does not
work for about 30 seconds but then works fine. I assume this delay is
PnP doing it's job.

6/ Reboot this machine. At this point no USB devices will work, no
matter how long I leave it (up to a couple of hours), or how many times
I reboot it.
 
M

Mike Warren

Sean said:
What about Plug and Play Software Device Enumerator, PnP
(Kernel-mode), or PnP (User-mode)?

All of those are in my build. The point is that the image works
perfectly on the device that FBA runs on, but fails on another
identical device. However, this failure does not happen until the
second boot. Something that was able to be installed by PnP initially,
fails when the machine is rebooted.

If I physically transfer the hard drive from the first machine to the
second, it also works fine. The problem comes about if I delete Mounted
Devices, either manually, or by running FBReseal. Both hard drives are
the same model, and are partitioned the same.

Is there any in-depth documentation available explaining what happens
when Windows loads drivers that I can read to increase my understanding
of the situation?

Nobody knows the XPe tools support situation?
 
S

Sean Liming

I would think that anyone in the Device Driver forum would be able to help.
http://www.microsoft.com/communitie...AD5-3FCC-9568-8574-649EBF6EE762&lang=en&cr=US

http://www.microsoft.com/communitie...6d1-a77b-4ccf-be60-a4f0a7801247&lang=en&cr=US

There is also the Windows Driver Kit:
http://www.microsoft.com/whdc/devtools/wdk/default.mspx

There are some device driver books:

Developing Drivers with the Windows Driver Foundation
Programming the Microsoft Windows Driver Model, Second Edition
Programming the Microsoft Windows Driver Model, Second Edition

What do you mean by the XPe tools support situation?

Regards,

Sean Liming
www.sjjmicro.com / www.seanliming.com
Book Author - XP Embedded Advanced, XP Embedded Supplemental Toolkit
 
M

Mike Warren

Sean said:
I would think that anyone in the Device Driver forum would be able to
help.

Thanks Sean. I'm not hopeful, but will give that a go.

There is also the Windows Driver Kit:
There are some device driver books:

Unfortunately, I don't have the time to learn how to write drivers.

What do you mean by the XPe tools support situation?

When we purchased the XPe tools in 2004, there were a number of (I
think 2 or 3) free MS support incidents included. I used one to help
track down a BIOS related problem a few years ago, but I can't remember
the procedure, or who to ask.

The situation from my perspective is that our product is a low volume
niche product which is only viable if everything can be done by one
person. I need to design the custom PCBs, write the software and build
the OS. XPe is supposed to be simple enough that it's just a case of
assembling the right components. In my experience, this is often not
the case. Maybe I have just had a combination of an unusual usage
situation and bad luck.

Your book was a great help in my early days with XPe, but a book cannot
cover everything. The MS documentation is often lacking. Although the
help file has improved over the years, there are still too many
components where the help says something like: "Component X: This adds
support for X".

To make matters worse, MS have changed the structure of MSDN so none of
the links supplied by Slobodan and Konstantin in past years work
anymore. This limits the usefulness of Google's archive.

I simply do not have the time to invest in hacking XPe to work out
/why/ things behave a certain way. Slobodan and Konstantin did, and
were willing to share that knowledge.

I really appreciate the time you devote to helping people here, but it
appears that you don't have enough free time to get your hands dirty
with a specific person's problems. I'm quite certain that if Slobodan
and Konstantin had not been around when I started, I would not be here
today. I had a problem that nearly stumped them, and even today, I
don't believe I would be able to solve that particular problem myself.

My current problem is similar. I'm sure it's something weird about the
drivers concerned, but these are the same drivers I have used without
issue in pre-FP2007 builds. I'm at the point that we can't sell any new
product until I add the promised features to the existing systems, as
these are the same customers. My job is on the line, and I live in a
town with very few tech jobs.

I sometimes wonder if it would have been prudent to have ported my
software to Linux all those years ago. At least I would have the source
code to the OS so I could work out what was happening.

Recently, I wondered if perhaps XPe had been abandoned in favour of
WES, so I enquired with my XPe distributor about an upgrade. I was told
that there is no upgrade path available. There is no way my company is
going to spend another US$1000 on the slim chance it will solve an
obscure problem with older equipment.

It seems I'm not the only person frustrated with the XPe situation. I
have had 3 people email me that they feel the same way over the last
couple of years, and there have been a few other posters here, the most
recent being "Wiley Post". I guess some people want to remain anonymous.

Sorry for the long post. I hope someone at MS reads it and takes what I
said on board.
 
S

Sean Liming

1. Since you have a master image, can you re-apply the image back to the
master target platform or a different target system. The idea is to isolate
possible problems with the target system that has been having the trouble.

2. I understand the challenges with development. The goal of the books were
to help eliminate some of the basic challenges, but books are static. The
www.seanliming.com website was setup to add more information beyond the
books, but even this cannot cover everything. With the other MVPs involved
in the newsgroups, there was more dynamic interaction and everyone brought
something to the newsgroup. There is a new WES/XPe forum
http://social.msdn.microsoft.com/Forums/en-US/category/embeddedwindows/ were
MS devs are monitoring and participating in.

WES2009 is XPe, but MS considers them different products. Believe me, I
understand the frustration. XPe will be support for a few more years
according to the MS website.

Regards,

Sean Liming
www.sjjmicro.com / www.seanliming.com
Book Author - XP Embedded Advanced, XP Embedded Supplemental Toolkit
 
M

Mike Warren

Mike said:
Thanks Sean. I'm not hopeful, but will give that a go.

Hmmm, I posted a long message and it hasn't shown up yet. I'll wait a
while and see what happens.
 
M

Mike Warren

Sean said:
1. Since you have a master image, can you re-apply the image back to
the master target platform or a different target system. The idea is
to isolate possible problems with the target system that has been
having the trouble.

If I perform FBA on the second machine, it works fine. I can even
transfer that image back to the first machine and it seems to be ok.

The problem is that I have over 100 of these units (with this
motherboard) in the field and a lot of my customers have lost their
original recovery CD, so if I send out an update that breaks their
machine I'm going to be in trouble. My users are mostly not computer
literate. It can take me several attempts just to explain to some how
to enter the CMOS config.

They can just about handle this:
1/ Put CD in machine.
2/ Switch machine off.
3/ Switch machine on.
4/ When asked if you want to update, press "yes".

My recovery program even ejects the CD and shuts down the machine when
finished.

There is a new WES/XPe forum
http://social.msdn.microsoft.com/Forums/en-US/category/embeddedwindows
/ were MS devs are monitoring and participating in.


Would you consider that a better place to ask for help with XPe than
here?
 
S

Sean Liming

Hmmm... something sounds different. i would test a 3rd machine.

The new forum has MS folks actively monitoring it so yes in the long run it
is better.

--
Regards,

Sean Liming
www.sjjmicro.com / www.seanliming.com
Book Author - XP Embedded Advanced, XP Embedded Supplemental Toolkit
 
M

Mike Warren

Sean said:
Hmmm... something sounds different. i would test a 3rd machine.

Unfortunately, I don't have a third machine with this motherboard. The
first unit is my test machine, which I have built images on
successfully before (pre-FP2007). The second one is a customer's unit.

In total, I need to build 8 different images for the various hardware
configurations, and this particular one is the only one I have more
than one sample of. Without knowing why this is happening, I have no
idea if this is going to happen in the field.

At this point, I'm seriously considering risking it.

The new forum has MS folks actively monitoring it so yes in the long
run it is better.

I don't suppose there is NNTP access? Forums are such a time consuming
way to read messages compared to a good newsreader.
 

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