Search code examples
windowswindows-ce

Windows CE 6.0 : Serial port IRQ 6, 3E8 transfers only 16 bytes


I have configured our custom BSP to have 4 COM ports. Out of these 3 COM ports work fine.

I have issue with the below COM port:

 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3]
                        "SysIntr"=dword:16
                        "IoBase"=dword:03E8
                        "IoLen"=dword:8
                        "DeviceArrayIndex"=dword:2
                        "Prefix"="COM"
                        "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
                        "Dll"="Com16550.Dll"
                        "Order"=dword:0
                        "Flags"=dword:10 ; User MOde: DEVFLAGS_LOAD_AS_USERPROC

Any transmission of more than 16 bytes is truncated. On debugging we found that after transmitting first 16 bytes, it waits for IIR(Interrupt Identification Register) "Transmitter Holding Register Empty Interrupt" event to occur.

But this does not occurs.

Any thoughts on how to proceed with this.


Solution

  • It was a BIOS issue and it got resolved after updating the BIOS