I have a PC-104 RF transceiver plug-in module that requires a normal serial
port configuration in order to communicate.
I had been using the following serial port setup in my platform.reg for CE4.2:

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5]
"SysIntr"=dword:1e
"IoBase"=dword:0300
"IoLen"=dword:8
"DeviceArrayIndex"=dword:4
"Prefix"="COM"
"Dll"="Com16550.Dll"
"Order"=dword:0
"Index"=dword:5
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5\Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"="RF_PORT 5"
;19,200 baud
"DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
00,00, 08, 00, 00, 00,00,00,00


This worked fine in CE4.2, but I can't get the same trick to work in CE 5.0.
It appears that, by enabling interrupts to the CE5.0 port, I can transmit,
but I cannot receive any information back. Below is the code for the CE5.0
serial ports, COM3 and COM4. COM 3 is a serial port provided on the
VersaLogic Python board, I can communicate with a hyperterminal connection
fine. COM 4 then is my attempt to construct a serial port for my RF plug-in
device:

; COM3
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3]
"Index"=dword:3
"SysIntr"=dword:13
"IoBase"=dword:03E8
"IoLen"=dword:8
"DeviceArrayIndex"=dword:2
"Prefix"="COM"
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
"Dll"="Com16550.Dll"
"Order"=dword:0
; Turn on follows for Installable ISR (isr16550 supporting SOFTWARE FIFO)
"Irq"=dword:3
"IsrDll"="isr16550.dll"
"IsrHandler"="ISRHandler"

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3\Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"="COM3:"
; byte 9 = 0 for NONE, 10 for HDW handshake. Bytes 13-16 control baudrate
(reverse order, i.e. 00004b00 = 19.2kb)
"DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
00,00, 08, 00, 00, 00,00,00,00

; COM4
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4]
"Index"=dword:4
"SysIntr"=dword:1a
"IoBase"=dword:0300
"IoLen"=dword:8
"DeviceArrayIndex"=dword:3
"Prefix"="COM"
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
"Dll"="Com16550.Dll"
"Order"=dword:0
"Priority"=dword:0
; Turn on follows for Installable ISR (isr16550 supporting SOFTWARE FIFO)
"Irq"=dword:a
"IsrDll"="isr16550.dll"
"IsrHandler"="ISRHandler"

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4\Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"="RF_PORT_4:"
"DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
00,00, 08, 00, 00, 00,00,00,00

I tried with and without interrupts, with and without the "IClass" statement
(what is this?), but nothing has worked. Any ideas or assistance would be
greatly appreciated.
Thanks,
Pat Harris

Re: internal serial ports on CE4.2 vs CE5.0 by Luca

Luca
Tue May 06 23:44:53 PDT 2008

Are you are using an add on board for COM4? if it is so, is it a PC/104?
I see that COM4 uses IRQ 10: maybe your CPU BIOS setup routes IRQ 10 to a
PCI INT.

The "IClass" is the device interface for the (serial) driver: an application
can use that GUID in RequestDeviceNotifications,
for example to be notified when the device is attached/detached; in the
specific case it could be useful if your serial port were
on a PCMCIA or an USB interface
--

Luca Calligaris
www.eurotech.it

"pr" <pr@discussions.microsoft.com> ha scritto nel messaggio
news:5D16C4F9-FE92-4D52-8174-388AD825C4DE@microsoft.com...
>I have a PC-104 RF transceiver plug-in module that requires a normal serial
> port configuration in order to communicate.
> I had been using the following serial port setup in my platform.reg for
> CE4.2:
>
> [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5]
> "SysIntr"=dword:1e
> "IoBase"=dword:0300
> "IoLen"=dword:8
> "DeviceArrayIndex"=dword:4
> "Prefix"="COM"
> "Dll"="Com16550.Dll"
> "Order"=dword:0
> "Index"=dword:5
> [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5\Unimodem]
> "Tsp"="Unimodem.dll"
> "DeviceType"=dword:0
> "FriendlyName"="RF_PORT 5"
> ;19,200 baud
> "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
> 00,00, 08, 00, 00, 00,00,00,00
>
>
> This worked fine in CE4.2, but I can't get the same trick to work in CE
> 5.0.
> It appears that, by enabling interrupts to the CE5.0 port, I can transmit,
> but I cannot receive any information back. Below is the code for the CE5.0
> serial ports, COM3 and COM4. COM 3 is a serial port provided on the
> VersaLogic Python board, I can communicate with a hyperterminal connection
> fine. COM 4 then is my attempt to construct a serial port for my RF
> plug-in
> device:
>
> ; COM3
> [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3]
> "Index"=dword:3
> "SysIntr"=dword:13
> "IoBase"=dword:03E8
> "IoLen"=dword:8
> "DeviceArrayIndex"=dword:2
> "Prefix"="COM"
> "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
> "Dll"="Com16550.Dll"
> "Order"=dword:0
> ; Turn on follows for Installable ISR (isr16550 supporting SOFTWARE FIFO)
> "Irq"=dword:3
> "IsrDll"="isr16550.dll"
> "IsrHandler"="ISRHandler"
>
> [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3\Unimodem]
> "Tsp"="Unimodem.dll"
> "DeviceType"=dword:0
> "FriendlyName"="COM3:"
> ; byte 9 = 0 for NONE, 10 for HDW handshake. Bytes 13-16 control
> baudrate
> (reverse order, i.e. 00004b00 = 19.2kb)
> "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
> 00,00, 08, 00, 00, 00,00,00,00
>
> ; COM4
> [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4]
> "Index"=dword:4
> "SysIntr"=dword:1a
> "IoBase"=dword:0300
> "IoLen"=dword:8
> "DeviceArrayIndex"=dword:3
> "Prefix"="COM"
> "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
> "Dll"="Com16550.Dll"
> "Order"=dword:0
> "Priority"=dword:0
> ; Turn on follows for Installable ISR (isr16550 supporting SOFTWARE FIFO)
> "Irq"=dword:a
> "IsrDll"="isr16550.dll"
> "IsrHandler"="ISRHandler"
>
> [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4\Unimodem]
> "Tsp"="Unimodem.dll"
> "DeviceType"=dword:0
> "FriendlyName"="RF_PORT_4:"
> "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
> 00,00, 08, 00, 00, 00,00,00,00
>
> I tried with and without interrupts, with and without the "IClass"
> statement
> (what is this?), but nothing has worked. Any ideas or assistance would be
> greatly appreciated.
> Thanks,
> Pat Harris
>
>



Re: internal serial ports on CE4.2 vs CE5.0 by pr

pr
Wed May 07 06:17:00 PDT 2008

Luca,
Thank you for your reply. Since reporting this, I have had some success by
selecting different interrupts. As I recall now, this was a sensitive issue
with the 4.2 version as well. Even though the interrupts are not designated
according to the documemtation, they may still create conflicts. I wish this
could be explained as to why?
I actually have two other "embedded" plug-in serial control PC-104 boards
that I now have gotten to respond by rearranging IRQ selections both in the
build and in the BIOS. In answer to your quesstion, COM 1-4 are built into
the EBX board.
I will update this if I get the complete solution. If you or anyone else has
any experience with this problem, I would like to hear what method youused to
overcome the problem.
Thanks,
Pat


"Luca Calligaris" wrote:

> Are you are using an add on board for COM4? if it is so, is it a PC/104?
> I see that COM4 uses IRQ 10: maybe your CPU BIOS setup routes IRQ 10 to a
> PCI INT.
>
> The "IClass" is the device interface for the (serial) driver: an application
> can use that GUID in RequestDeviceNotifications,
> for example to be notified when the device is attached/detached; in the
> specific case it could be useful if your serial port were
> on a PCMCIA or an USB interface
> --
>
> Luca Calligaris
> www.eurotech.it
>
> "pr" <pr@discussions.microsoft.com> ha scritto nel messaggio
> news:5D16C4F9-FE92-4D52-8174-388AD825C4DE@microsoft.com...
> >I have a PC-104 RF transceiver plug-in module that requires a normal serial
> > port configuration in order to communicate.
> > I had been using the following serial port setup in my platform.reg for
> > CE4.2:
> >
> > [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5]
> > "SysIntr"=dword:1e
> > "IoBase"=dword:0300
> > "IoLen"=dword:8
> > "DeviceArrayIndex"=dword:4
> > "Prefix"="COM"
> > "Dll"="Com16550.Dll"
> > "Order"=dword:0
> > "Index"=dword:5
> > [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5\Unimodem]
> > "Tsp"="Unimodem.dll"
> > "DeviceType"=dword:0
> > "FriendlyName"="RF_PORT 5"
> > ;19,200 baud
> > "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
> > 00,00, 08, 00, 00, 00,00,00,00
> >
> >
> > This worked fine in CE4.2, but I can't get the same trick to work in CE
> > 5.0.
> > It appears that, by enabling interrupts to the CE5.0 port, I can transmit,
> > but I cannot receive any information back. Below is the code for the CE5.0
> > serial ports, COM3 and COM4. COM 3 is a serial port provided on the
> > VersaLogic Python board, I can communicate with a hyperterminal connection
> > fine. COM 4 then is my attempt to construct a serial port for my RF
> > plug-in
> > device:
> >
> > ; COM3
> > [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3]
> > "Index"=dword:3
> > "SysIntr"=dword:13
> > "IoBase"=dword:03E8
> > "IoLen"=dword:8
> > "DeviceArrayIndex"=dword:2
> > "Prefix"="COM"
> > "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
> > "Dll"="Com16550.Dll"
> > "Order"=dword:0
> > ; Turn on follows for Installable ISR (isr16550 supporting SOFTWARE FIFO)
> > "Irq"=dword:3
> > "IsrDll"="isr16550.dll"
> > "IsrHandler"="ISRHandler"
> >
> > [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3\Unimodem]
> > "Tsp"="Unimodem.dll"
> > "DeviceType"=dword:0
> > "FriendlyName"="COM3:"
> > ; byte 9 = 0 for NONE, 10 for HDW handshake. Bytes 13-16 control
> > baudrate
> > (reverse order, i.e. 00004b00 = 19.2kb)
> > "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
> > 00,00, 08, 00, 00, 00,00,00,00
> >
> > ; COM4
> > [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4]
> > "Index"=dword:4
> > "SysIntr"=dword:1a
> > "IoBase"=dword:0300
> > "IoLen"=dword:8
> > "DeviceArrayIndex"=dword:3
> > "Prefix"="COM"
> > "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
> > "Dll"="Com16550.Dll"
> > "Order"=dword:0
> > "Priority"=dword:0
> > ; Turn on follows for Installable ISR (isr16550 supporting SOFTWARE FIFO)
> > "Irq"=dword:a
> > "IsrDll"="isr16550.dll"
> > "IsrHandler"="ISRHandler"
> >
> > [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4\Unimodem]
> > "Tsp"="Unimodem.dll"
> > "DeviceType"=dword:0
> > "FriendlyName"="RF_PORT_4:"
> > "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 00,01,00,00, 00,4B,00,00,
> > 00,00, 08, 00, 00, 00,00,00,00
> >
> > I tried with and without interrupts, with and without the "IClass"
> > statement
> > (what is this?), but nothing has worked. Any ideas or assistance would be
> > greatly appreciated.
> > Thanks,
> > Pat Harris
> >
> >
>
>
>