I have an embedded device that connects to a PC using USB and enumerates as a USB serial port. The device spits out approximately 30 megabytes of data over a period of about 15 minutes.
My PC is running a Python script using Pyserial to read this data and store it in memory. It works fine.
I have given the script to three colleagues; one of them also has no problem with it, but the other two find that only about 40% of the data is received by the script.
All the PCs are running Windows XP SP2 and all are of a similar hardware spec. In all cases the serial device is connected directly into the root hub, not via any external hubs or anything like that.
I tried connecting Hyperterminal and setting it to capture the data to disk, again on my PC this works fine but on the two other PCs it only collects ~40% of the data.
We all have the same anti-virus stuff running (and no reason to believe it's trying to scan this data as it comes in).
I am running out of ideas as to why so much of the data is lost on these other PCs. Any suggestions for things that could be causing this?
Edited to add hardware specs:
My PC (which works fine): Intel Core i7 CPU 920 @ 2.67 GHz 2.99 GB RAM
One my colleague's data-losing PC: Intel Pentium D CPU 3.39 GHz 3.25 GB RAM
So he has an older processor, but on the surface of it it's a faster clock rate and more RAM on his PC!