Hello, im having a problem with serial comunication, i have tested the
rdesktop redirection and throuth ser2lan (serial server)
With ser2lan, my device works fine, but throuth rdesktop dont work...
Debugging with strace and gdb i have found this differences in
communication:
ser2net (working):
write(5, "\00272\3\6", 5) = 5
read(5, "\6", 1024) = 1
write(5, "\00287\3\f", 5) = 5
read(5, "\6", 1024) = 1
read(5, "\202\270", 1024) = 2
read(5, "\270\26190\2703\3410", 1024) = 8
read(5, "309\2615\3_", 1024) = 7
write(5, "\0028A0\3J", 6) = 6
read(5, "\6", 1024) = 1
write(5, "\00283\3\10", 5) = 5
read(5, "\6", 1024) = 1
In this, i can see the write functions are called with length with size
of the data send... And the read functions are called always with 1024
of length size... and all the data are readed correctly...
rdesktop (dont work)
write(6, "", 0) = 0
write(6, "\00272\3\6", 5) = 5
read(6, "\6", 1) = 1
write(6, "", 0) = 0
write(6, "\00287\3\f", 5) = 5
read(6, "\6", 1) = 1
read(6, "\2", 1) = 1
read(6, "8", 1) = 1
read(6, "8", 1) = 1
read(6, "1", 1) = 1
read(6, "9", 1) = 1
read(6, "0", 1) = 1
read(6, "8", 1) = 1
read(6, "3", 1) = 1
read(6, "a", 1) = 1
read(6, "0", 1) = 1
read(6, "3", 1) = 1
read(6, "0", 1) = 1
read(6, "9", 1) = 1
read(6, "1", 1) = 1
read(6, "5", 1) = 1
read(6, "\3", 1) = 1
read(6, "_", 1) = 1
In the Rdesktop, i can see two parcularities... First the write
functions are called with a null value before the correct value
sended... And the read operations are called AWAYS with 1 of length, and
the information seems to be not completely readed and the device don't
work....
I try to set length in serial_read() (serial.c) to 1024 but the rdesktop
halts when i try to access the serial... but strace show me that the
data are readed correctly, but this halt...
My C skills are too poor but im completely dispose to execute tests
Thanks for the attention and sorry for the english
bye
|