I'm having a strange problem with POSIX Serial programming. I'm
trying to control a modem which is being used to connect to paging
On some paging terminals, the data that I get from the remote
terminal is messed up. Even though I set object to connect at, say,
2400 7E1, what I get back from the terminal is what would be the
correct data, but with the parity bit included as the high bit of the
data. So, instead of getting 'ID=' ('0x49 0x44 0x3D') I get '0xC9
0x44 0xBD'. Notice that the 'D' stays the same because it's even
parity naturally, but the other two characters would have an odd
parity if their high bits weren't set. So, it seems like the parity
isn't being handled properly. Note that this happens regardless of
whether the settings are 8N1 or 7E1 (or anything else, actually).
Whatever the problem is, it's not limited to my program.
Minicom has the same problem, but Kermit doesn't. There's also a tiny
program called 'miniterm' that comes with the LDP programming examples
on which I can reproduce the problem. I have not succeeded in
modifying any program to no longer have the problem, nor can I
reproduce the problem in Kermit. Also, I've tried two different modems
on two different machines (one modem was PCI, the other USB), and the
problem happens on all combinations.
Has anybody had similar problems? Anybody know of a fix?
Thanks in advance,
4. Zoo for AIX