Bug 2816

Summary: cyclades-serial-client only supports 8 bit data size (cs8, not cs7 etc)
Product: ThinLinc Reporter: Peter Åstrand <astrand>
Component: Serial port redirectionAssignee: Peter Åstrand <astrand>
Status: ASSIGNED ---    
Severity: Normal    
Priority: P2    
Version: trunk   
Target Milestone: MediumPrio   
Hardware: PC   
OS: Unknown   
Acceptance Criteria:
Attachments: Patch for sercd to switch to 8 bits at startup

Description Peter Åstrand cendio 2008-06-22 15:15:39 CEST
Our cyclades-serial-client only supports emulating a serial port with 8 bits per byte (cs8). If the physical port is configured for something else when sercd starts, c-s-c will print an error:

cyclades-ser-cli /var/opt/thinlinc/sessions/astrand/2/dev/ttyS0: NOTICE: Opening /dev/pts/5 pseudo-tty
cyclades-ser-cli /var/opt/thinlinc/sessions/astrand/2/dev/ttyS0: ERR: Can't set termios : Invalid argument

However, if using the LD_PRELOAD library with an application that changes to cs8, things works. 

For completeness, it might be nice to support cs7 etc someday. Currently, this is not possible due to limitations of ptys. See http://marc.info/?l=linux-serial&m=120612342110347&w=2.
Comment 3 Peter Åstrand cendio 2008-08-28 18:42:26 CEST
Followup to comment #1: I was using the JavaComm library comm3.0_u1_linux.zip. One good thing is that several demo programs are included. For example, the "BlackBox" application looks interesting. 

On the stupid side, it's necessary to enter all serial port paths into javax.comm.properties. Ie, this file must be personal, meaning that all users also needs to have a personal comm.jar, meaning that you have to fiddle with CLASSPATH...