ComPort Problems

L

Lasse

Hi all

I have a computer with XP Embedded, MinLogon, EWF RAM and 4 ComPorts.
when I boot the ComPorts can come up as either:

- Communications Port
- XT Serial
- 16550

The above is reported by "DevCon status *PNP0501"
and by Registry CurrentControlSet\Enum\Root\*PNP0501\PNPBIOS_12, .._15.

It seems that what comes up is arbitary. (different for different ComPorts).
But once it has become "XT Serial" or "16550" it will stay so.

In the case "Communications Port", everything works fine.

In cases "XT Serial" and "16550" the ComPorts does not work
echo aaa>COMx says no such device, "DevCon status *PNP0501" reports stopped.

The only method to get back to "Communication Ports" is to delete the
registry key CurrentControlSet\Enum\Root\*PNP0501\... ,
do EwfMgr c: -commit and restart.

My Questions:
-------------
- Where can I get information about things like this
- What is "XT Serial"/"16550"
- Why is it installed, by who. The INF file MsPorts.inf does not contain this text.
- Is XP (P&P) doing somthing stupid I can prevent it from doing.
- How to proceed

A little note: I think my hardware an XP PlugAndPlay doesn't like each other.
There are similar problems when I am using XP pro. (dual boot).
Still it works sometimes, so it should be possible (I hope) to make some
settings to get it stable.

Lasse
 
S

Slobodan Brcin \(eMVP\)

Hi Lasse,

1. Go deeper with regedit and check values "DeviceDesc" and "DosDeviceName" they should tell you COMx names allocated to each port.
2. Try using devcon remove option and then reenumerate devices with devcon.
3. Analyze setupapi.log it will reveal the source of problem. (If not increase information log level that is stored to setupapi.log
and try again)

Regards,
Slobodan
 
L

Lasse

Hi
Thanks for the quick answer.

About DosDeviceName:
I did not mention that mapping for COMx --> \Device\serialN are totally messed up.
E.g there could be: (again abritary) (also on XP pro).

COM2 --> \Device\serial0
COM2 --> \Device\serial1 - yes COM2 is a symbolic link to more than one \device\...
COM1 --> \Device\serial3

The above from using API DefineDosDevice()

Regedit on CurrentControlSet\Enum\Root\*PNP0501\PNPBIOS_12, .._15
gives the same messed up result.

I handle this mess with an utility that uses the API DefineDosDevice()
at each startup, so this is no problem.
I thougt this was a different problem or has it some connection with my "XT Serial" problem.

I have looked in setupapi.log but can't find any "XT Serial" text or something
else that helps me understanding the problem.

I did not know I could increase information log level for setupapi.log
This might be very useful.

How is this done ?

Lasse
===============
 
S

Slobodan Brcin \(eMVP\)

Hi Lasse,

Yes you can fine-tune SetupApi log content and increase number of info. Also you can disable it or do live send to remote debugger
when dealing with some delicate problems.
http://msdn.microsoft.com/library/d..._66a07114-953e-49aa-bebf-f9b4ca60a6dd.xml.asp
COM2 --> \Device\serial0
COM2 --> \Device\serial1 - yes COM2 is a symbolic link to more than one \device\...
COM1 --> \Device\serial3

This is intended to be messed up. \Device\serialX number is generated dynamically first driver instance detected get number 0 then 1
etc. (First initialized first served) This is not a COMX port related in any way.

Duplicated COM2 problem is probably caused by some bug in CoInstaller. You can change it manually in registry, or trough SetupApi
functions, or as you already done with DefineDosDevice.

Anyhow if you need some predetermined order of COM ports try prepopulating DeviceDesc values from Target Designer. This way you
should be able to set exact COM name for each port as you want it.

If this does not work then you will have to write small application to do this.

Regards,
Slobodan

PS: Please let us know when you solve this, how did you done it.
 

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