<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Dave,</p>
<p><br>
</p>
<p>Possible this ttyACM0 adapter plays we a dirty game. :-(:-(</p>
<p>I played your suggested code line with different values, the
larger 30000 MS time not helped too.</p>
<p>Nothing changed, with adapter side the stty -F /dev/ttyACM0 -a
command shows 9600 baud related settings until I not doing a
manual port baud rate change command.</p>
<p>I attaching a log.</p>
<p>in 13:41:00 time (estimated) I manual change baud rate the stty
command with 57600 baud, and the display is detected correct based
the log file estimated 13:41:19.616 time.</p>
<p>So, when I doing a manual baud rate change the stty or screen
command, BRLTTY correct detecting the focus display with
/dev/ttyACM0 attached usb serial port too, independing added the
suggested code line modification or not.</p>
<p><br>
</p>
<p>Attila<br>
</p>
<div class="moz-cite-prefix">2024. 12. 24. 14:52 keltezéssel, Dave
Mielke írta:<br>
</div>
<blockquote type="cite"
cite="mid:Z2q8tNk_EA1gAuDz@beta.private.mielke.cc">
<pre class="moz-quote-pre" wrap="">[quoted lines by Hammer Attila on 2024/12/24 at 13:52 +0100]
I think that we shouldn't trust the stty -a information for when it isn't working because, in that state, the driver is mostly not started. In other words, it starts, finds out very quickly that it won't work, and then stops. It then stays stopped for several seconds so what we're likely seeing is the state of ttyACM0 when the driver isn't running.
We know that the Focus is working, that brltty is working, that the adapter is working, and that the adapter's baud can be set (via stty and screen). In other words, we know that all the pieces seem to be working. I'm thinking, therefore, that we maybe need to add a delay after the driver opens and configures the adapter before it starts writing to and reading from it.
Look for this line in Drivers/Braille/FreedomScientific/braille.c:
684: descriptor.serial.parameters = &serialParameters;
Try adding this line right after it:
descriptor.serial.options.readyDelay = 200;
If you're curious, that value is in milliseconds.
</pre>
</blockquote>
</body>
</html>