Hi Dave,

You wrote:

„We know that the device wants to operate at 57600 baud and that the drivetr has this correct.”

Exactly.
When the display is not plugged the real serial cable, the dev/ttyS0 port 
related with sudo stty -F /dev/ttyS0 -a says following informations:
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc

When I doed the test first with stty -F /dev/ttyS0 -a command, I not setted 
back the /dev/ttyS0 device in /etc/brltty.conf file (leaved the device with 
/dev/ttyACM0), so setted  back this device with /dev/ttyS0, rebooted the 
machine and repeat the test with unplugged serial cable the display side.
Output is same with stty -F /dev/ttyS0 -a command related I think, I show for 
you:
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc

When I plug the real serial cable the display and ran sudo brltty -b fs -d 
/dev/ttyS0 command, the display is correct operational.
When I do a reboot, the display is correct operational, and stty -F /dev/ttyS0 
-a command shows the correct 57600 baud rate with real serial port related.
Right information is following when the display is full operational and plugged 
with real serial cable:
speed 57600 baud; rows 0; columns 0; line = 0;
intr = <undef>; quit = <undef>; erase = <undef>; kill = <undef>; eof = <undef>;
eol = <undef>; eol2 = <undef>; swtch = <undef>; start = <undef>; stop = <undef>;
susp = <undef>; rprnt = <undef>; werase = <undef>; lnext = <undef>;
discard = <undef>; min = 0; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread clocal -crtscts
ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 
ff0
-isig -icanon iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
-echoctl -echoke -flusho -extproc

Look USB serial adapter results related tests.
You wrote:
„Is it correct that, when you first connect the adapter, ttyACM0's baud is 
9600?”
Exactly.
Look the plugged /dev/ttyACM0 adapter result, without attached display:
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc

When I plugging the usb serial cable end of serial connector the display, the 
port baud rate of course not change, stty -F /dev/ttyACM0 -a shows of course 
the same result, but only the ttyACM0 adapter.
I generate for you an usb to serial log with you requested command, and when I 
launched BRLTTY logging command without reboot, I simple doed following command 
in terminal:
stty -F /dev/ttyACM0 57600
So, I manual need change the baud rate now with every restart the dev/ttyACM0 
adapter related, real serial port (the dev/ttyS0 device) this is not need, you 
absolute wrote right.

When I do a reboot, the baud rate is not set automatically with 57600 only the 
/dev/ttyACM0 device, so I always doing now a short sudo stty -F /dev/ttyACM0 
57600 command. :-):-)
Possible have better solution future, but now this solution is good with one 
machine my home. :-):-)
So:
When the display is attached the usb to serial adapter the /dev/ttyACM0 device, 
the stty -F /dev/ttyACM0 -a command shows following informations without manual 
baud rate change:
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc
Independent what say in the log file with fs driver side the /dev/ttyACM0 
device related (setting baud rate with 57600 information related between 13:03 
and 13:12 minutes related says the driver), the display is real will be 
detecting correct the driver and will be online in /dev/ttyACM0 device after I 
ranned the stty -F /dev/ttyACM0 57600 command.
So, the adapter perhaps not switch automaticaly the correct baud rate, compare 
the real serial port with we experienced after reboot.
Real serial port the baud change automatically happening when BRLTTY 
initializing the display.
In the log file estimated2024-12-24@13:04:12.981  BRLTTY says following:
„2024-12-24@13:04:12.981  [brltty] Detected Focus 70: cells=70, firmware=1.02
2024-12-24@13:04:12.981  [brltty] Manufacturer: FREEDOM SCIENTIFIC
2024-12-24@13:04:12.981  [brltty] Model: Focus 70
2024-12-24@13:04:12.981  [brltty] Firmware: 1.02
2024-12-24@13:04:12.982  [brltty] output packet: sent: 81 46 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 39
2024-12-24@13:04:12.982  [brltty] serial: output: 81 46 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 39
2024-12-24@13:04:12.982  [brltty] Braille Display Dimensions: 70 columns, 1 row
2024-12-24@13:04:12.982  [brltty] regions: text=0.70 status=0.0
2024-12-24@13:04:12.982  [brltty] shifts: full=70 half=35 vertical=5
2024-12-24@13:04:12.984  [brltty] Key Bindings: focus1
2024-12-24@13:04:12.984  [brltty] program exit event added: 
sorted-command-table”
So, between2024-12-24@13:03:47.921  and2024-12-24@13:04:08.229  braille driver 
is failed with starting related (not happened manual baud rate change with 
ttyACM0 device related with stty -F /dev/ttyACM0 57600 
command),2024-12-24@13:04:12.918  starting again the driver (I not remember the 
absolute correct time when doed the manual baud rate command with ttyACM0 
device related), and the display is detected correctly 
in2024-12-24@13:04:12.981  time, the display is online in based the log file 
after2024-12-24@13:04:12.998.
I attaching the log file with zip compressed.
When the display is online the /dev/ttyACM0 device after manual baud rate 
change the stty utility, thee correct results is following with stty -F 
/dev/ttyACM0 -a command related:
speed 57600 baud; rows 0; columns 0; line = 0;
intr = <undef>; quit = <undef>; erase = <undef>; kill = <undef>; eof = <undef>;
eol = <undef>; eol2 = <undef>; swtch = <undef>; start = <undef>; stop = <undef>;
susp = <undef>; rprnt = <undef>; werase = <undef>; lnext = <undef>;
discard = <undef>; min = 0; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread clocal -crtscts
ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 
ff0
-isig -icanon iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
-echoctl -echoke -flusho -extproc

You wrote:
„We know that brltty does operate successfully with the adapter if you first 
manually set ttyCM0's baud to 57600. For this case, could you please send me a 
log.”
Absolute you correct see the issue.
Wait a little, possibble I misunderstand previous your request and generate a 
partially wrong log file:
You want only a log from BRLTTY after setted manual the ttyACM0 device baud 
rate with 57600 baud rate?
So, you need the brltty debug, usb, serial, input and output packets result 
logging level generated log file after already manual setted the baud rate with 
usb to serial adapter side?
If this is the case, me have possibility to generate you this type log file too


Hopefully this informations help detecting why not change FS driver 
automatically baud rate only the /dev/ttyACM0 adapter side, and why always 
manual baud rate command need doing (for example with screen /dev/ttyACM0 57600 
command in terminal, or stty -F /dev/ttyACM0 57600 command in terminal) to 
display become detected and online.
Perhaps this commands sends a packet to the  the serial adapter and the 
display, I am not detailed knowingserial communication mechanism with Braille 
displays related.

Attila

2024. 12. 24. 4:28 keltezéssel, Dave Mielke írta:
[quoted lines by Hammer Attila on 2024/12/23 at 21:29 +0100]

I'm going to summarize my current understanding, to be sure it's corret, and 
ask a few more questions along the way:

We know that the device wants to operate at 57600 baud and that the drivetr has 
this correct.

We know that it works on the machine with the real serial port and with -d 
serial:ttyS0. Could you reboot that system, let me know what ttyS0's initial 
baud is, and then verify that brltty is still able to correctly change its baud 
to 57600 and operate successfully.

Is it correct that, when you first connect the adapter, ttyACM0's baud is 9600? 
We know that, when in this state, brltty isn't successful, and are guessing 
that, for some reason, the  driver is unable to successfully change the baud of 
the adapter to 57600.

We know that brltty does operate successfully with the adapter if you first 
manually set ttyCM0's baud to 57600. For this case, could you please send me a 
log.

<<attachment: usb_serial_log.zip>>

_______________________________________________
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: [email protected]
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Reply via email to