nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.09k stars 631 forks source link

Braille Sense 6 Mini not recognized and no braille output in NVDA 2024.2 beta and latest alpha #16641

Closed khsbory closed 2 months ago

khsbory commented 4 months ago

Steps to reproduce:

  1. Connect a Braille Sense 6 Mini display to the computer via Bluetooth
  2. Open NVDA 2024.1 and verify the braille display works properly
  3. Close NVDA 2024.1
  4. Open NVDA 2024.2 beta or latest alpha version

Actual behavior:

In NVDA 2024.2 beta and latest alpha versions, the Braille Sense 6 Mini display connects via Bluetooth but is not recognized by NVDA. No braille output is shown on the display.

Expected behavior:

The Braille Sense 6 Mini display should be properly recognized by NVDA 2024.2 beta and latest alpha versions, with braille output shown on the display, the same as it works in NVDA 2024.1.

NVDA logs, crash dumps and other attachments:

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2024.2 beta and latest alpha

Windows version:

Windows 11 latest

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

N/A

Other information about your system:

Braille Sense 6 Mini with 2.0 firmware

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.

Yes, issue occurs in 2024.2 beta and latest alpha. Braille display works properly in 2024.1.

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

CyrilleB79 commented 4 months ago

@seanbudd it's a 2024.2 regression according to the description.

Do you want to put it in 2024.2 milestone?

khsbory commented 4 months ago

I think we should do that. This is because many screen reader users, like myself, use both voice and braille displays, and I know that many of them use the BrailleSense mini 6. If possible, I would like this to be included in the upcoming milestone. In my opinion, this issue seems quite critical. Feel free to let me know if you need any further assistance!

seanbudd commented 4 months ago

Can you please provide a log file of the behaviour. Ensure your log level is set to debug in general preferences and enable hwIO logging in advanced preferences. If you are concerned about sensitive information being logged (which will happen during a debug log session of NVDA), please email info@nvaccess.org with your log.

Kind Regards, NV Access Software Developers

khsbory commented 4 months ago

Of course. Below is the log. DEBUG - braille.BrailleHandler._setDisplay (19:25:30.491) - ThreadPoolExecutor-0_0 (25404): Possibly detected display 'HIMS Braille Sense/Braille EDGE/Smart Beetle/Sync Braille series' DEBUGWARNING - brailleDisplayDrivers.hims.BrailleDisplayDriver.init (19:25:35.616) - ThreadPoolExecutor-0_0 (25404): Traceback (most recent call last): ... serial.serialutil.SerialException: could not open port 'COM4': OSError(22, 'The semaphore timeout period has expired.', None, 121) DEBUGWARNING - braille.BrailleHandler.setDisplayByName (19:25:35.617) - ThreadPoolExecutor-0_0 (25404): Couldn't initialize display driver 'hims' Traceback (most recent call last): ... RuntimeError: No Hims display found

DEBUGWARNING - brailleDisplayDrivers.hims.BrailleDisplayDriver.init (19:25:36.798) - ThreadPoolExecutor-0_0 (25404): Traceback (most recent call last): ... serial.serialutil.SerialException: could not open port 'COM9': OSError(22, 'Element not found.', None, 1168) DEBUGWARNING - braille.BrailleHandler.setDisplayByName (19:25:36.799) - ThreadPoolExecutor-0_0 (25404): Couldn't initialize display driver 'hims' Traceback (most recent call last): ... RuntimeError: No Hims display found

DEBUGWARNING - braille.BrailleHandler.setDisplayByName (19:25:47.559) - MainThread (18344): Error initializing display driver 'hims' Traceback (most recent call last): ... RuntimeError: No Hims display found

IO - speech.speech.speak (19:25:47.614) - MainThread (18344): Speaking ['Braille Display Error', 'dialog', 'Could not load the hims display.', CancellableSpeech (still valid)]

seanbudd commented 4 months ago

@khsbory - please provide a full log file. To confirm, do you have hwIO enabled in advanced preferences?

Could you also test this PR build to see if #16340 fixes the issue?

cc: @EdKweon

khsbory commented 4 months ago

First, as you mentioned, I will share the entire log file through the email you provided. For reference, I had selected the HW IO option. I also tested the NVDA version you sent, but unfortunately the Braille Sense 6 Mini display was not recognized in that version either. For your information, I am also using the Braille Edge display, and although it is the same HIMS display, it is recognized well. Thank you.

EdKweon commented 4 months ago

@khsbory, @seanbudd Okay, I will check this problem. Thanks.

seanbudd commented 4 months ago

Thanks for your testing and feedback - I hadn't seen the email yet but it is appreciated. I think @EdKweon will be taking it from here, thanks Ed. @EdKweon - I'll pass on any important log elements that you may need from the email.

seanbudd commented 4 months ago

@CyrilleB79 - this is too late for 2024.2, but hopefully this can be fixed in 2024.3

seanbudd commented 3 months ago

log file which NV Access only have access to: https://drive.google.com/file/d/1hlz2KxyMPOXVdCaKInD8cDBckNBFPbnS/view?usp=sharing

EdKweon commented 3 months ago

@seanbudd, Can you grant access?

@khsbory And can I get Braille Sense 6 Mini log?

seanbudd commented 3 months ago

@EdKweon happy to grant access if @khsbory approves

khsbory commented 3 months ago

First of all, thank you so much for your effort regarding the NVDA braille output issue on Braille Sense 6 Mini. Unfortunately, as far as I know, it is not possible to extract logs from Braille Sense 6 Mini. To be precise, it's not that it's impossible, but rather that I don't know how to extract logs. To receive braille information from NVDA, you need to go to the Screen Reader menu in Braille Sense 6 Mini and select Bluetooth. However, after that, I don't know if the connection is made and then disconnected, or if the connection itself is not made. Please let me know if you need any further information. Thank you.

seanbudd commented 3 months ago

Hi @khsbory - I was asking if you mind if we share the log you emailed us with @EdKweon, who develops drivers for this device

khsbory commented 3 months ago

Ah, I understand. Of course. You are welcome to share the logs for driver issue resolution and updates. Thank you.

seanbudd commented 3 months ago

Hi @khsbory , would you mind testing the latest alpha snapshot. This may have been fixed by https://github.com/nvaccess/nvda/pull/16340

khsbory commented 3 months ago

Hello, I sincerely thank those of you who quickly resolved my issue.

Currently, I conducted a test with the latest version of the NVDA snapshot alpha version, alpha-32587,e6ba6cb1.

I didn't complete the installation on my PC, but just ran the installation file. As you know, the existing NVDA is terminated and the alpha version of NVDA runs, launching the installation screen.

In that state, it doesn't connect to my Braille Sense 6 Mini.

So, I assumed that even if I installed it, it would be the same, so I terminated it first. If there are any parts that I need to test further, please feel free to let me know.

For reference, my current display is connected to com port 3, but no matter how much I set it to com port 3 in the alpha installation version, a connection error occurred.

Thank you.

seanbudd commented 3 months ago

Just to confirm, the issue is resolved after installing the latest alpha?

khsbory commented 3 months ago

Just in case, I fully installed the latest alpha build, alpha-32587,e6ba6cb1, and ran NVDA. Still, even after several attempts, it cannot communicate with my Braille Sense 6 Mini.

Please check on this issue.

EdKweon commented 3 months ago

@khsbory I am really sorry, but could you please update the logs to the latest alpha beta? And I don't need bs6 mini log. Thank you.

khsbory commented 3 months ago

Of course. I can certainly share the logs with you whenever you need them. However, I am currently at the office and don't have the Braille Sense 6 Mini display with me, so I will be able to share the logs in the evening after I get home from work. And as for the logs, should I share the ones mentioned in the comment "Can you please provide a log file of the behavior" as you previously instructed? Could you be a bit more specific about which logs you need? Thank you.

EdKweon commented 3 months ago

@khsbory Yes. Thank your for your reply.

khsbory commented 3 months ago

The log file contains personal information, so I have sent it to info@nvaccess.org. Please check this email.

EdKweon commented 3 months ago

@seanbudd , @khsbory Can you give me URL to access log file?

khsbory commented 3 months ago

If you provide me with your personal email address, I will send you the URL of the log file via email. Thank you.

EdKweon commented 3 months ago

@khsbory ed.h.kweon@selvashc.com Thanks.

seanbudd commented 3 months ago

@EdKweon - https://drive.google.com/file/d/1ncOr3EUZYcZG8yfNIh2rAOYX7zHPS__a/view?usp=sharing

EdKweon commented 2 months ago

@khsbory I checked the issue of BS6 bluetooth connection with NVDA. This issue arises because the Bluetooth name of BS6 mini device is recognized as BrailleEdge. After resolving this issue, performing an online firmware update should fix it. I will respond once the issue is resolved. Thank you.

khsbory commented 2 months ago

Thank you sincerely for your help.

I'm curious if temporarily changing the Bluetooth device name of the BrailleSense 6 mini could be a potential workaround. If so, could you advise on what name would be appropriate to use?

Interestingly, I've noticed that the connection worked well with the older NVDA 2024.2 version without changing the Braille device's Bluetooth name. However, it's not working in the current version. This suggests that a recent update might have introduced this issue.

I would greatly appreciate any additional insights or advice you could provide on this matter. Specifically, I'm interested in your thoughts on:

  1. Whether changing the device name would actually be helpful
  2. If changing, what name format would you recommend
  3. Why the issue seems to have appeared in newer versions when it worked in NVDA 2024.2
  4. Any other possible solutions for users of the current NVDA version

Looking forward to your expert opinion. Thank you!

EdKweon commented 2 months ago
khsbory commented 2 months ago

Thank you for the detailed explanation. I appreciate your insights. To clarify:

  1. I don't use the Braille eMotion device.
  2. I do use an older 40-cell Braille Edge display, which connects without any issues to the latest NVDA version.

Given this information, I hope for a quick resolution to the BrailleSense 6 mini connection issue. However, I have one concern to bring to your attention:

The BrailleSense 6 mini firmware is currently released in different versions for Korean and English. As a Korean user, I'm using the Korean firmware. I believe it would be beneficial to discuss this issue with the Korean development team as well. There are many users in Korea who use both the BrailleSense 6 mini and NVDA.

Considering the potential differences in firmware, it might be crucial to ensure that any fix addresses both language versions. This approach would help ensure a comprehensive solution for all users, regardless of their language settings.

Thank you for your continued efforts on this matter. I look forward to a resolution that works for all users of the BrailleSense 6 mini, across different firmware versions.

khsbory commented 2 months ago

I have one more important point to share with you. I've previously tested the latest NVDA with a different BrailleSense 6 mini device that was running an older firmware version - I believe it was version 1.7.

This is significant because that firmware version likely predates the inclusion of the Braille eMotion code. Despite this, NVDA still failed to recognize the device.

This observation suggests that the issue might not be solely related to the recent addition of the Braille eMotion code. There could be other factors at play that are affecting the compatibility between NVDA and the BrailleSense 6 mini.

I hope this information proves useful in your development process and in finding a comprehensive solution to the connectivity issue. It might be worth investigating what changed between the NVDA versions that worked with the BrailleSense 6 mini and those that don't, regardless of the device's firmware version.

Thank you for your continued attention to this matter. I look forward to your insights on this additional information.

EdKweon commented 2 months ago

@khsbory When saving the logs, did you connect any other devices simultaneously? For example, after running the NVDA app, did you connect the BrailleEdge? Are the current logs exclusively from the BS6 mini? This one is important to find out problem.

khsbory commented 2 months ago

I'd like to clarify some points regarding the logs I previously sent you:

  1. Both logs were generated when attempting to connect only the BrailleSense 6 mini after launching NVDA. To be precise, while I had connected the Braille Edge device to NVDA earlier, I made sure to completely close and restart NVDA before recording the logs. This ensures that the logs reflect only the BrailleSense 6 mini connection attempt.

  2. Regarding the second log file, which corresponds to the version you asked me to test in the comments: I want to emphasize that I never connected the Braille Edge device in this version at all. The purpose was solely to test the BrailleSense 6 mini, so I focused exclusively on that device.

These clarifications should help eliminate any potential confusion about interference from other devices or previous connections. The logs purely represent the BrailleSense 6 mini's interaction with NVDA in isolation.

I hope this additional context proves helpful in your analysis. Thank you for your continued efforts to resolve this issue.

EdKweon commented 2 months ago

@khsbory Got it. Thank you for the quick response. I will get back to you as soon as the issue is resolved.

EdKweon commented 2 months ago

@khsbory Can you tell me the commit hash that you succeeded connection?

khsbory commented 2 months ago

Thank you for addressing this issue. I'd like to provide some additional information regarding the BrailleSense 6 mini braille display device recognition in NVDA.

As mentioned in the issue title, the last NVDA version where I successfully recognized the BrailleSense 6 mini braille display device was version 2024.1. I'm afraid I can't recall exactly when the recognition issues began in the 2024.2 alpha versions. However, I did notice at some point that the device was no longer being recognized in the alpha builds.

Initially, I refrained from reporting this issue as it was occurring in alpha versions, which are expected to have some instabilities. However, now that the 2024.2 beta version has been released and the problem persists, I felt it was necessary to bring this to your attention.

I appreciate your efforts in addressing this matter and look forward to a resolution. Please let me know if you need any further information or if there's anything I can do to assist in troubleshooting this issue.

Thank you for your time and consideration.

EdKweon commented 2 months ago

@khsbory The issue was caused by the BS 6 Mini screen reader app. The problem has been resolved, and it should function properly after the firmware update. Thank you.

khsbory commented 2 months ago

Thank you for your hard work in identifying the cause of the issue. I'm glad it has been resolved. I have two questions regarding this: 1. Since this issue appears to be related to the device firmware rather than NVDA itself, would it be appropriate to close this ticket? 2. I use the Korean firmware for my device. Would it be possible to provide support for updating the Korean firmware as well? Could you please look into this? Thank you for your attention to these matters. -----Original Message----- From: @.> To: @.>; Cc: @.>; @.>; Sent: 2024-07-22 (월) 10:54:50 (GMT+09:00) Subject: Re: [nvaccess/nvda] Braille Sense 6 Mini not recognized and no braille output in NVDA 2024.2 beta and latest alpha (Issue #16641)

@khsbory The issue was caused by the BS 6 Mini screen reader app. The problem has been resolved, and it should function properly after the firmware update. Thank you. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

EdKweon commented 2 months ago

@khsbory Please verify that it is fully functional on your device and then proceed to close this issue. The Korean version has also been resolved.

Could you possibly test it after the firmware update today? If it does not work, it means the firmware update was not applied. Please let me know if it doesn't work. I will check the update date and inform you.

khsbory commented 2 months ago

I understand. Since this issue has been confirmed to be a firmware issue and has been resolved in the latest firmware, I will close this issue.

According to information I found online, the current latest version of the Korean firmware is 2.5. I'll update my device to firmware version 2.5 when I get home this evening and check if it works properly with the latest version of NVDA. If I encounter any issues, I'll add another comment to this thread.

Thank you for your assistance.

khsbory commented 2 months ago

I have updated my device to the Korean firmware version 2.5 and installed the latest alpha version of NVDA. However, despite multiple attempts, my BrailleSense 6 mini device still wasn't recognized.

Interestingly, as soon as I ran the NVDA 2024.1 version installer, the device was recognized without any issues.

Is there anything else that needs to be checked or verified regarding this matter?

Thank you for your continued support.

HHyJin commented 2 months ago

@ khsbory I'm EdKweon. It is normal for the device to work only with version 2024.1. It seems that the latest firmware has not been uploaded yet. I will check the firmware update date and inform you immediately. Thank you for your prompt response.

EdKweon commented 2 months ago

@khsbory It may take some time for the official version of the firmware to be released. If necessary, we can provide you with the beta version. However, before proceeding, I need to confirm one thing again: Are you using the Korean version of the firmware?

Moreover could you also provide an email address?

Thank you.

khsbory commented 2 months ago

Thank you for your response. I'd like to provide some additional information:

  1. As you mentioned, I am indeed using the Korean firmware.

  2. My email address is khsbory@naver.com.

  3. I am interested in upgrading to the latest firmware, even if it's a beta version. This is because, currently, it's the best way to use the braille terminal feature with the latest NVDA. Even if there are some bugs, I would be grateful if you could send me the beta version. I will upgrade and make good use of it, despite any potential issues.

Thank you for your consideration.

EdKweon commented 2 months ago

@khsbory It took some time, but I'm glad it got resolved. If any issues arise in the future, please feel free to let us know. Thank you.

khsbory commented 2 months ago

I have successfully received the private firmware version through my personal email. I plan to upgrade to this firmware this evening and conduct tests. After testing, I will leave a comment in the relevant channel as well. Thank you for your assistance.

CyrilleB79 commented 1 month ago

@EdKweon, some users of the Braille Sense 6 Mini still complain of this issue.

Has it received a public fix on your side? If yes, what is the version of the firmware that should be used and how to get it? If no, when is the public release planned?

EdKweon commented 1 month ago

@CyrilleB79 The issue has been resolved. It was not an NVDA problem but rather an issue with the Hims product app. As a rule, we do not provide beta firmware separately. The firmware release for the device is scheduled for after November. If the release date is moved up, I will inform you.

CoBC commented 1 month ago

Hi @EdKweon, I'm a member of French NVDA website. We received a message from an user who have the same issue with a Polaris Mini with French firmware version. Is a fix also available for this device and if yes, can you send me a firmware with a fix? Thanks