nvaccess/nvda

Regression in NVDA2024.1: brltty cannot connect to Metec40 device

Closed this issue · 13 comments

Could this be related to #15658?
cc @LeonarddeR

Steps to reproduce:

  1. Install the brltty application.
  2. Connect the Metec40 to the computer.
  3. Select "brltty" in the NVDA Braille Device dialog

Actual behavior:

NVDA throws error:
snippets_log.txt

Expected behavior:

Metec devices should connect and work as expected, just like in nvda2023.3.4.

NVDA logs, crash dumps and other attachments:

FullLog.txt

System configuration

NVDA installed/portable/running from source:

Portable, Installed

NVDA version:

2024.1, 2024.2Beta3

Windows version:

Windows10

Name and version of other software in use when reproducing the issue:

Brltty version is currently unknown

Other information about your system:

None

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

2023.3.4 and earlier versions work as expected

If NVDA add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

This could theoretically be because of the switch to Python 3.11, but I think it is very hard to debug this.

If you need any help debugging please let me know.
I will also check further to see if it is related to the version of brltty and the Windows.

See also #16566. I do not know if the cause is the same.

Looks like #16566 is very similar to this.
For Metec, NVDA can almost only use Brltty to establish connections. If this problem is not solved, it means that these devices will completely lose their value.

Could you please report this to brltty as well?
https://brltty.app/contact.html

Could you please report this to brltty as well?

I hope to do this after getting more information about BRLTTY.

@cary-rowen - could you review bramd's message here: #16566 (comment)

@LeonarddeR If I remember correctly, you helped compile the Python bindings for BRLTTY when we upgraded to Python 3.11. Would it be worthwhile to recompile with the specific minor Python version we use now and if so, do you still have a dev environment for this set up? It's not that easy to get the whole BRLTTY compilation setup going on Windows.

I'm also afraid this might be hard to debug. I'm not really familiar with the Python bindings, but the error about the invalid file handle might indicate that the handle is somehow closed/gone or the BRLTTY process died somehow making the pipe invalid. If so, a log from the BRLTTY side would also be nice to see here.

@bramd One of the things I did while compiling is providing an appveyor script to do it. So recompiling it shouldn't be too difficult. Having logs from the brltty side of things could definitely help, though.

It looks like MinGW is missing on Appveyor now. I filed appveyor/ci#3925

I have been unable to reproduce this using brltty-win-6.6-0-libusb-1.0.

Thanks for the update, closing then as works for me. Please comment if you are still having this issue and we can reopen. BRLTTY 6.6 seems newer than the 6.1 referenced in #16566.