You have the serial-attached hardware, correct?
Sorry, but the serial port has RTS/CTS flow control protocol to stall the
peripheral till the OS/software will get the next data bytes from the host UART
to the memory.
It’s really bad that your hardware cannot do RTS/CTS flow control. The
peripheral’s serial interface must be stalled and not sending any bytes while
the host drives RTS low, which the host UART does automatically when it is
about to FIFO overflow.
Also, using FIFO on a host UART is a very good idea to reduce the number of
interrupts generated by the UART.
I can understand that there can be some primitive serial-attached hardware
which cannot do RTS/CTS, or which uses RTS/CTS and also DTR/DSR lines for some
data/state indications which are not standard for a serial port, or which uses
the hard timings in its serial protocol and so on, but for me it looks like
such hardware can be reliably served under MS-DOS only, not under non-realtime
multitasking OS like Windows.
Serial port is to transfer 7bit or 8bit bytes, possibly with parity, with
RTS/CTS flow control. Using a serial port in some other mode like a set of 9
random wires is a bad idea in modern OSes. Also, the only strict timing in a
serial port is between bits of a byte, including parity and stop one. Timing
between bytes (any 2 bytes) can be any.
As about “it works on some laptops and not others”. This is the usual
picture of unreliable and unsupported operation mode. It works by mere luck,
this is not guaranteed.
–
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
“Kiran Bacche” wrote in message news:xxxxx@ntdev…
> It happens on all laptops with XP.
>
> Also the same laptop with Win 2000 did not have the issue.
>
> Thanks
> Kiran
>
> Doron Holan wrote:
> v:* {behavior:url(#default#VML);} o:
{behavior:url(#default#VML);} w: {behavior:url(#default#VML);} .shape
{behavior:url(#default#VML);} Does this happen on all laptops
with XP or one particular brand? Changing the IRQL assigned to you is not
recommended, I do not think that this will help your problem in the end.
Remember nt is not an RTOS, there are other ISRs (ATA for example) which could
starve our ISR for longer than expected.
>
> d
>
> From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Kiran Bacche
> Sent: Wednesday, January 30, 2008 8:51 AM
> To: Windows System Software Devs Interest List
> Subject: Re:[ntdev] Please Help: Serial Port Interrupt Latency in Windows XP
>
>
> The device has worked without any issues on all desktops and all OS.And
on laptops, it has worked with Windows 2000 Professional. On laptops with
Windows XP, this issue was first seen.
>
>
>
> Actually the device generates around 40 to 80 interrupts spaced around
600 microsecs. This burst of interrupts happens roughly every 5 minutes.
>
>
>
> I am suspecting that IRQL might be the issue on Win XP laptops. So I was
thinking of setting IRQL parameters as hard coded value of 31 while calling
IoConnectInterrupt in the driver code.
>
>
>
> Is that worth a try ?
>
>
>
> Thanks
>
> Kiran
>
>
>
> “Maxim S. Shatskih” wrote:
>
> > The device generates interrupts every 600 microsecs.
>
> I do not think this device is Windows-compatible, i.e. can work reliably
under
> Windows, especially on heavy loads and with other “chatty” hardware.
>
> There is nothing surprising in a fact Windows cannot provide 600us latency
> reliably (can on some machines, cannot on other).
>
> –
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
>
>
>
> ---------------------------------
>
> Looking for last minute shopping deals? Find them fast with Yahoo!
Search. — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging
and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
>
>
> ---------------------------------
> Never miss a thing. Make Yahoo your homepage.