Device Manager`

R

Richard

I've been playing with some of the Advantech stuff and it's probably the
most difficult hardware I've messed with.

At any rate, their com ports 3 & 4 don't get set up properly and according
to the readme they include, you must go into the device manager and change
the device config to #8, the specify the IRQ and Base address. Works fine
if you have all that in your image.

Is there a way I can do this with out having to install the hardware control
panel applet and all the mmc stuff?

Richard
 
K

KM

Richard,

Try devcon utility (command line device manager):
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q311272

I haven't done that but you will probably need to use "devcon update" command with some related changes in msports.inf (e.g., IRQ
resources for particular COM ports).

Or you can probably do the changes in msports.inf beforehand and update it in your image build through your own component.
 
R

Richard

I did read numerous articles on it in the link below. Lot's of people
stating they have problems but no real solutions mentioned other than
possibly edit the registry or maybe exporting reg entries. Really never
specifies how or the results.

I have not tried Devcon yet because I thought I would try the msports.inf
first.

I did try this. I took a stock msports.inf, modified places Com3 IRQ, COM4
IRQ
My Com3 and Com4 use standard base addresses but both use IRQ10.

Here is the stock file....
; The following sections are COM port resource configs.
; Section name format means:
; Char 1 = c (COM port)
; Char 2 = I/O config: 1 (3f8), 2 (2f8), 3 (3e8), 4 (2e8), a (any)
; Char 3 = IRQ config: #, a (any)

[c14] ; COM1,IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:4

[c1a] ; COM1, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c23] ; COM2, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3

[c2a] ; COM2, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c34] ; COM3, IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:4

[c3a] ; COM3, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c43] ; COM4, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,5

[c4a] ; COM4, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

********** I Only modified the following *************************

[c34] ; COM3, IRQ10 <-------------
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:10 <------------------


[c43] ; COM4, IRQ10 <----------------
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:10 <--------------------



I then went in TD under my component, and added the custom msports.inf
included and to be copied to the Windows/INF directory, however I didn't
have any luck. But it may be the process I used.

Did I edit the file properly above?



Slobodan Brcin (eMVP) said:
Hi Richard,

You will find some useful info about the topic with this search:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&c2coff=1&q=Com+Ports&meta
=group%3Dmicrosoft.public.windowsxp.embedded.*

You can setup everything trough regedit or your custom application. There
is even a some chance that you can do it only by modifying
 
K

KM

Richard,

Just in case to check... Did you set the flag to overwrite the msports.inf?
Make sure your modified msports.inf gets in to the build \windows\inf
directory.

KM
I did read numerous articles on it in the link below. Lot's of people
stating they have problems but no real solutions mentioned other than
possibly edit the registry or maybe exporting reg entries. Really never
specifies how or the results.

I have not tried Devcon yet because I thought I would try the msports.inf
first.

I did try this. I took a stock msports.inf, modified places Com3 IRQ, COM4
IRQ
My Com3 and Com4 use standard base addresses but both use IRQ10.

Here is the stock file....
; The following sections are COM port resource configs.
; Section name format means:
; Char 1 = c (COM port)
; Char 2 = I/O config: 1 (3f8), 2 (2f8), 3 (3e8), 4 (2e8), a (any)
; Char 3 = IRQ config: #, a (any)

[c14] ; COM1,IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:4

[c1a] ; COM1, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c23] ; COM2, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3

[c2a] ; COM2, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c34] ; COM3, IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:4

[c3a] ; COM3, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c43] ; COM4, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,5

[c4a] ; COM4, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

********** I Only modified the following *************************

[c34] ; COM3, IRQ10 <-------------
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:10 <------------------


[c43] ; COM4, IRQ10 <----------------
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:10 <--------------------



I then went in TD under my component, and added the custom msports.inf
included and to be copied to the Windows/INF directory, however I didn't
have any luck. But it may be the process I used.

Did I edit the file properly above?



Slobodan Brcin (eMVP) said:
Hi Richard,

You will find some useful info about the topic with this search:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&c2coff=1&q=Com+Ports&meta
=group%3Dmicrosoft.public.windowsxp.embedded.*

You can setup everything trough regedit or your custom application.
There
is even a some chance that you can do it only by modifying
inf file.

Best regards,
Slobodan
 
S

Slobodan Brcin \(eMVP\)

Hi Richard,

For test try using regedit to capture values you like from configured image and then enter them manually in image that you want
configured.
HKLM\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\(EnumIdNumber)\.....

EnumIdNumber should be present for each port you have installed.
Check "Device Parameters\PortName"
"LogConf\BasicConfigVector"
"Control\FilteredConfigVector"

These are only important values. After changing them reboot XPe.
When you make it work, you can place changes to XPe by using reg.exe during the FBA.

Best regards,
Slobodan


Richard said:
I did read numerous articles on it in the link below. Lot's of people
stating they have problems but no real solutions mentioned other than
possibly edit the registry or maybe exporting reg entries. Really never
specifies how or the results.

I have not tried Devcon yet because I thought I would try the msports.inf
first.

I did try this. I took a stock msports.inf, modified places Com3 IRQ, COM4
IRQ
My Com3 and Com4 use standard base addresses but both use IRQ10.

Here is the stock file....
; The following sections are COM port resource configs.
; Section name format means:
; Char 1 = c (COM port)
; Char 2 = I/O config: 1 (3f8), 2 (2f8), 3 (3e8), 4 (2e8), a (any)
; Char 3 = IRQ config: #, a (any)

[c14] ; COM1,IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:4

[c1a] ; COM1, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c23] ; COM2, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3

[c2a] ; COM2, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c34] ; COM3, IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:4

[c3a] ; COM3, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c43] ; COM4, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,5

[c4a] ; COM4, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

********** I Only modified the following *************************

[c34] ; COM3, IRQ10 <-------------
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:10 <------------------


[c43] ; COM4, IRQ10 <----------------
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:10 <--------------------



I then went in TD under my component, and added the custom msports.inf
included and to be copied to the Windows/INF directory, however I didn't
have any luck. But it may be the process I used.

Did I edit the file properly above?



Slobodan Brcin (eMVP) said:
Hi Richard,

You will find some useful info about the topic with this search:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&c2coff=1&q=Com+Ports&meta
=group%3Dmicrosoft.public.windowsxp.embedded.*

You can setup everything trough regedit or your custom application. There
is even a some chance that you can do it only by modifying
inf file.

Best regards,
Slobodan
 
R

Richard

ok, i forgot to make the msports.inf overwrite. So I set it to overwrite
and the correct msports gets put into the windows\inf directory but when I
access com3 or com4 it states port does not exist. I'm starting to get
dizzy over this deal.

I'm not sure I edited the msports file correctly. I attached the file in an
earlier message and showed the "only" modifications I made to it. Evidently
they weren't enough or it's not going to work.

Do I need to edit the numbers in the brackets as well for msports? [c4b]

So I installed the full image, where I actually used the device manager to
edit my serial port configuration. All that was required was the following:
Device Manager - Uninstall the existing com3 and com4
Search for new hardware - It's already installed option
Install hardware manually from List - Select Ports - Com/Lpt ->
Communications Port
Once that is done, you go to each ports properties, then resources, change
the current configuration to configuration 008, then add the correct I/O
Range Com3 = 03e8-03ef IRQ 10 and com4 = 02e8-02ef and IRQ10. I did that
and the ports work fine.

However on my small image, that doesn't include all of that (Devmanager
.....) , I have no idea how to make those changes. I would export the keys
from the full image if I knew which ones those happened to be. The keys you
mentioned below do not exist. If I search the registery for com3 or com4 it
returns results from all over. THen I have to search for PNP0500 and
PNP0501 but again, dozens of keys scattered througout and not a clue to
which ones to export.

Sorry if I sound fustrated but this is eating me up and I'm seriously
running out of time. Any clearer answers would be very much appreciated.

Richard



Slobodan Brcin (eMVP) said:
Hi Richard,

For test try using regedit to capture values you like from configured
image and then enter them manually in image that you want
configured.
HKLM\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\(EnumIdNumber)\.....

EnumIdNumber should be present for each port you have installed.
Check "Device Parameters\PortName"
"LogConf\BasicConfigVector"
"Control\FilteredConfigVector"

These are only important values. After changing them reboot XPe.
When you make it work, you can place changes to XPe by using reg.exe during the FBA.

Best regards,
Slobodan


I did read numerous articles on it in the link below. Lot's of people
stating they have problems but no real solutions mentioned other than
possibly edit the registry or maybe exporting reg entries. Really never
specifies how or the results.

I have not tried Devcon yet because I thought I would try the msports.inf
first.

I did try this. I took a stock msports.inf, modified places Com3 IRQ, COM4
IRQ
My Com3 and Com4 use standard base addresses but both use IRQ10.

Here is the stock file....
; The following sections are COM port resource configs.
; Section name format means:
; Char 1 = c (COM port)
; Char 2 = I/O config: 1 (3f8), 2 (2f8), 3 (3e8), 4 (2e8), a (any)
; Char 3 = IRQ config: #, a (any)

[c14] ; COM1,IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:4

[c1a] ; COM1, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c23] ; COM2, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3

[c2a] ; COM2, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c34] ; COM3, IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:4

[c3a] ; COM3, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c43] ; COM4, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,5

[c4a] ; COM4, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

********** I Only modified the following *************************

[c34] ; COM3, IRQ10 <-------------
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:10 <------------------


[c43] ; COM4, IRQ10 <----------------
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:10 <--------------------



I then went in TD under my component, and added the custom msports.inf
included and to be copied to the Windows/INF directory, however I didn't
have any luck. But it may be the process I used.

Did I edit the file properly above?



Slobodan Brcin (eMVP) said:
Hi Richard,

You will find some useful info about the topic with this search:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&c2coff=1&q=Com+Ports&meta
=group%3Dmicrosoft.public.windowsxp.embedded.*
You can setup everything trough regedit or your custom application.
There
is even a some chance that you can do it only by modifying
inf file.

Best regards,
Slobodan

I've been playing with some of the Advantech stuff and it's probably the
most difficult hardware I've messed with.

At any rate, their com ports 3 & 4 don't get set up properly and according
to the readme they include, you must go into the device manager and change
the device config to #8, the specify the IRQ and Base address.
Works
fine
if you have all that in your image.

Is there a way I can do this with out having to install the hardware control
panel applet and all the mmc stuff?

Richard
 
K

KM

Richard,

That is a good indication that your changes in msports.inf are reflected on
the image.

Btw, you don't need to rebuild and re-deploy the image each time you change
the inf file. Just use devcon utility to install (update) the inf file
(http://support.microsoft.com/default.aspx?kbid=311272).
You may also find the "devcon resources =ports" and "devcon status *PNP05*"
commands useful in your tests. Check if your COM3 and 4 are installed
properly. If not, check setupapi.log file for related errors.

You don't need to modify the INF section names. They are just used inside in
the inf file.

Also, I am not really sure why do you set the same interrupt number for both
COM ports? If they share the interrupt, I guess you need to use "LS:" prefix
(not sure if it is possible in your case).

Regarding registry settings.. Communications Port are usually under PNP0500,
PNP0501 PnP enumerator.
You will just have to export the key Slobodan mentioned on your XP Pro
machine and import it on XPe.

KM
ok, i forgot to make the msports.inf overwrite. So I set it to overwrite
and the correct msports gets put into the windows\inf directory but when I
access com3 or com4 it states port does not exist. I'm starting to get
dizzy over this deal.

I'm not sure I edited the msports file correctly. I attached the file in an
earlier message and showed the "only" modifications I made to it. Evidently
they weren't enough or it's not going to work.

Do I need to edit the numbers in the brackets as well for msports? [c4b]

So I installed the full image, where I actually used the device manager to
edit my serial port configuration. All that was required was the following:
Device Manager - Uninstall the existing com3 and com4
Search for new hardware - It's already installed option
Install hardware manually from List - Select Ports - Com/Lpt ->
Communications Port
Once that is done, you go to each ports properties, then resources, change
the current configuration to configuration 008, then add the correct I/O
Range Com3 = 03e8-03ef IRQ 10 and com4 = 02e8-02ef and IRQ10. I did that
and the ports work fine.

However on my small image, that doesn't include all of that (Devmanager
....) , I have no idea how to make those changes. I would export the keys
from the full image if I knew which ones those happened to be. The keys you
mentioned below do not exist. If I search the registery for com3 or com4 it
returns results from all over. THen I have to search for PNP0500 and
PNP0501 but again, dozens of keys scattered througout and not a clue to
which ones to export.

Sorry if I sound fustrated but this is eating me up and I'm seriously
running out of time. Any clearer answers would be very much appreciated.

Richard



Slobodan Brcin (eMVP) said:
Hi Richard,

For test try using regedit to capture values you like from configured
image and then enter them manually in image that you want
configured.
HKLM\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\(EnumIdNumber)\.....

EnumIdNumber should be present for each port you have installed.
Check "Device Parameters\PortName"
"LogConf\BasicConfigVector"
"Control\FilteredConfigVector"

These are only important values. After changing them reboot XPe.
When you make it work, you can place changes to XPe by using reg.exe during the FBA.

Best regards,
Slobodan
IRQ,
COM4
IRQ
My Com3 and Com4 use standard base addresses but both use IRQ10.

Here is the stock file....
; The following sections are COM port resource configs.
; Section name format means:
; Char 1 = c (COM port)
; Char 2 = I/O config: 1 (3f8), 2 (2f8), 3 (3e8), 4 (2e8), a (any)
; Char 3 = IRQ config: #, a (any)

[c14] ; COM1,IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:4

[c1a] ; COM1, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c23] ; COM2, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3

[c2a] ; COM2, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c34] ; COM3, IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:4

[c3a] ; COM3, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c43] ; COM4, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,5

[c4a] ; COM4, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

********** I Only modified the following *************************

[c34] ; COM3, IRQ10 <-------------
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:10 <------------------


[c43] ; COM4, IRQ10 <----------------
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:10 <--------------------



I then went in TD under my component, and added the custom msports.inf
included and to be copied to the Windows/INF directory, however I didn't
have any luck. But it may be the process I used.

Did I edit the file properly above?



Hi Richard,

You will find some useful info about the topic with this search:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&c2coff=1&q=Com+Ports&meta probably
 
R

Richard

Also, I am not really sure why do you set the same interrupt number for
both
COM ports? If they share the interrupt, I guess you need to use "LS:" prefix
(not sure if it is possible in your case).
ADVANTECH!

Regarding registry settings.. Communications Port are usually under PNP0500,
PNP0501 PnP enumerator.
You will just have to export the key Slobodan mentioned on your XP Pro
machine and import it on XPe.

That is one of the problems, in the full build that works, the following
keys do *not* exist in the registry....
HKLM\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\(EnumIdNumber)\.....

No ACPI key under the Enum branch....

EnumIdNumber should be present for each port you have installed.
Check "Device Parameters\PortName"
"LogConf\BasicConfigVector"
"Control\FilteredConfigVector"

I even did a search in the registry for "LogConf\BasicConfigVector" and
"Control\FilteredConfigVector" and no results were found.

Let me download the devcon utility and see if I can hash it out that way.
Thanks for sticking with me on this.

Richard
 
S

Slobodan Brcin \(eMVP\)

Hi Richard,

Search for:
"PortName" it must exist otherwise serial driver would not work.

Or exact location of all active driver instances is written at:
CurrentControlSet\Services\Serial\Enum\0, 1, 2, .....
This will tell you exact part of reg entry used under HKLM\SYSTEM\CurrentControlSet\Enum

Best regards,
Slobodan
 
R

Richard

Okay, I found the entries. They were under HKLM\System\enum\root\pnp0501

If I try to import the new reg entries (ones I exported) I get access
denied. If I go into regedit and try to import it says "Access Denied -
Resources surrenty in use"

I am logged in as Administrator as well.
I do see the problem Base addresses are fine but vectors (IRQ) is set for
0XA and share disposition is set for SHARE.

So how do I get these values changed?

Richard
 
R

Richard

Devcon shows the following:
Com3 IO = 03E8-03EE
IRQ 10
Com3 IO = 02E8-02EE
IRQ 10

So that is *Almost* correct. Should be 03E8-03EF and 02E8-02EF, don't know
if that really maters. IRQ's are correct.
But when I try to access the ports it says they don't exist.
If I do a simple copy hello>com1 the TX lights on COM1 flashes and
everything is cool.
If I do the same for com3 or com4 I get... The specified file dows not
exist which means it can not find COM3 or COM4.

I take it I'm getting closer but no cigar.
 
S

Slobodan Brcin \(eMVP\)

Hi Richard,

These entries can be changes only by System privileges by default.
For testing purposes use regedit to change privileges so Admin can change values also.

For later use FBA runs in system account so using reg.exe should not give you troubles.
Best regards,
Slobodan
 

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