http://bugs.winehq.org/show_bug.cgi?id=16828
Summary: Nirvis CDJ: serial port mode not completely clean on FreeBSD (IEXTEN still on) Product: Wine Version: 1.1.11 Platform: PC OS/Version: FreeBSD Status: UNCONFIRMED Severity: minor Priority: P2 Component: ntdll AssignedTo: wine-bugs@winehq.org ReportedBy: p-wine-bugs@ziemba.us
Created an attachment (id=18530) --> (http://bugs.winehq.org/attachment.cgi?id=18530) serial ports: turn off IEXTEN when ICANON is turned off
("man termios" for details)
When wine sets the parameters on a serial port (set_line_control()), although it turns off ICANON, it does not disable IEXTEN. On Linux it probably isn't a problem because the tty driver disables IEXTEN behavior when ICANON is off, but on FreeBSD the tty driver still gives special treatment to the input stream when ICANON is off but IEXTEN is on.
Simple fix: where ICANON is turned off, also turn off IEXTEN.
The problem is evident when running the Nirvis CDJ application, which communicates with Sony CD jukeboxes via serial port and a Slink-e controller. Without this fix it mostly works, but there are occasional subtle failures (e.g., identification of some CDs fails).