[BRLTTY] Brltty sounds absence with sof-firmware driver used on Linux

Dave Mielke Dave at mielke.cc
Mon Jan 10 14:03:34 EST 2022


[quoted lines by Vsevolod Popov on 2022/01/10 at 17:32 +0300]

>When I disconnect a braille display and then run brltty as root, after
>connecting the display again orca doesn't communicate with brltty.

At best I can just guess, so here's what my guess is. Assuming that you're using a new enough Orca that tries to reconnect to BrlAPI, it'd connect to the brltty that you started manually. That brltty, however, only tries once every five seconds, or so, to connect to the braille device. When you then connect the braille device, however, a udev rule will start a second brltty immediately for that. So, if this is correct, you now have Orca using the one you started manually but the braille device being operated by the one started by udev. I think that's why it appears to not work.

An interesting test would be if you just reconnect the braille device without starting brltty manually. That way, udev should start brltty again, and Orca should then connect to it.

>But to be honest this all system is confusing. Maybe that's because I am
>pretty new to Linux in general and I don't really understand how brltty
>handles processes.

The thing to know, here, is that udev will start brltty if it's a USB device.

>To fix this issue after running brltty as root user, I restart the system and
>it works again.



Well, I wouldn't say that rebooting is atually fixing anything. To me, that's more like forcibly recovering.

>But there is a question I have:
>Alexandr mentioned that brltty uses it's own user in Arch Linux. When that
>happens, Orca works with braille as expected.
>Does it mean that there is no need to run brltty as root or regular user at
>all if it is runned and used by brltty user and works with orca without any
>issues?

Alexander would've configured brltty's Systemd service unit to run correctly even though it isn't being run as root. Just running brltty as its own (brltty) user wouldn't work. The sepcial setup configured by brltty's service unit is necessary.

>Do I understand correctly that if brltty starts as it's user and braille
>display works means that it's supported?

yes, with the modification that it's run via Systemd - not that it's running as its own user.

>But why are errors about the braille driver displayed when running brltty as
>root?

If I'm understanding correctly, those aren't errors. It's just that brltty is trying different drivers until it finds the right one. That's because it's default braille "driver" is to autodetect the device.

>I am sorry for maybe strange questions but I am a bit confused how it all
>works and I would like to understand it.

Of course, and you don't need to be sorry for that.

By the way: I think I asked you to capture a log so that I could have a look at how brltty is recognizing the QBraileXL. Once you're comfortable that all is well, you can still do this even though Systemd is starting brltty. Instead of using the -l and -L command line options, you can put the equivalent into /etc/brltty.conf. I sugest these two lines:

   log-file /path/to/logfile
   log-level debug,inpkts,outpkts,brldrv,usb

-- 
I believe the Bible to be the very Word of God: http://Mielke.cc/bible/
Dave Mielke            | 2213 Fox Crescent | WebHome: http://Mielke.cc/
EMail: Dave at Mielke.cc  | Ottawa, Ontario   | Twitter: @Dave_Mielke
Phone: +1 613 726 0014 | Canada  K2A 1H7   |


More information about the BRLTTY mailing list