OEM 8-Port UART PCI card doesn't work on PnP Kernel system

G

Guest

Hi
Special thanks to Slobodan and Konstantin, my “PnP Kernel†only system works OK with DiskOnKey

In our application we also use EXAR XR17C158 OEM 8-Port UART PCI card.
With this card I receive *.sys and *.inf files and create two WinXP Embedded components:
XR17C158 Win XP Driver
and OEM 8-Port UART PC

Now this components work only in the system that include PnP (User mode) component

So my question is:
How we can add this card support to our PnP Kernel only system
Can you advice about cmiIsCriticalDevice

Thanks
Yur
 
S

Slobodan Brcin \(eMVP\)

As with any driver you can preinstall it without inf file present and
without PnP (User mode).

Depending on your driver type you can use cmiIsCriticalDevice, but if this
driver is not just simple PnP driver then more effort will be required than
this.

One universal solution would be that you install this driver on Windows
XP/XPE.
Open secondary windows and access your registry offline (this will eliminate
all unnecessary temporary values that you don't need to use).

Then go to HKLM\SYSTEM\ControlSet001\

Find and export all data related to this driver from following keys.

Services\???DriverName????
Enum\????\???Data related to your card???? (This data depend on PCI slot
so later you can't change PCI slot)
Control\Class\{?GUID?}\????? - If there is something of interest in Enum
category Driver value gives you the required path.

If this drivers do not have any configuration required from inf file then
you can use simple cmiIsCriticalDevice method.

Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
G

Guest

Hi Slobodan,
Can you explain how I can properly export all registry values that I collected as you recommend me to the Target Designer project?

Yury
 
S

Slobodan Brcin \(eMVP\)

I will assume that you were able to use regedit or some other tool to load
system. hive to some key in registry of active windows.

Then you find keys you are interested in and export them to reg files.
Then in reg files you will have to modify starting path that was introduced
by hive load to some empty key.
After that you can import from TD or CD reg file directly.

If this look too complicated to you, then you can manually create every
entry directly in TD or CD, choice is yours.

Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Yury said:
Hi Slobodan,
Can you explain how I can properly export all registry values that I
collected as you recommend me to the Target Designer project?
 
G

Guest

Hi Slobodan
What you mean when you say "by hive load to some empty key" and what it is "starting path" that I need modefy

Yur
 
S

Slobodan Brcin \(eMVP\)

In regedit you have option Import that will work on one registry key you
provide for root of hive you want to load.

So:
1. Create empty key in working registry.
2. Select this new key.
3. Use Import.
4 Switch type to "Registry Hive Files".
5. Locate file named "system."
6. Load it.
7. Now under your key you will have all info from system. hive cleaned from
runtime info that are present in active windows.
8. Export keys you want in reg format.
9. Open with notepad reg file.
10. Change paths in reg file so they will match original HKLM\SYSTEM\....
path instead of custom path.
11...

Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Yury said:
Hi Slobodan,
What you mean when you say "by hive load to some empty key" and what it is
"starting path" that I need modefy?
 
S

Slobodan Brcin \(eMVP\)

I said that you should open registry offline, that was my mistake. I assume
that all developers know how to deal with registry (online/offline) without
even thinking about it.

Maybe you should try first to make component from your inf file, and to mark
this driver as critical for system boot.
If this work it will save you time, if it does not then you should play with
registry.
You can always use online registry but in this way you can't differentiate
between volatile and nonvolatile values (I can but still I prefer to use
offline registry).

Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Yury said:
Hi Slobodan,
If you mean C:\Windows\System32\Config\system.sav
So, this file after to the registry key Importing doesn't include my
device catalog in HKLM\SYSTEM\ControlSet001\Services\ . But I can see it in
normal registry view.
 
S

Slobodan Brcin \(eMVP\)

To answer you this and other question.

Registry files are protected by OS while it is running.
When you shutdown your windows registry files are saved and closed with only
values that are persistent across reboots (All temporary values are
removed).

Now if you use second OS (second XP/XPe or first bootable XPe CD) you can
copy system. file to some new file name or load it using regedit.

Also you should obtain regmon.exe filemon tools from
http://www.systeminternals.com/ and you should use them to see what changes
are made to files and registry during the installation.

Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Yury said:
Hi Slobodan,
I receive following window when I try to import SYSTEM file:

Cannot import C:\WINDOWS\system32\config\SYSTEM: Error opening the
file. There may be a disk or file system error.
 

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