New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freeze when reconnecting to Brailliant B with new USB driver #5406

Closed
nvaccessAuto opened this Issue Oct 8, 2015 · 2 comments

Comments

Projects
None yet
2 participants
@nvaccessAuto

nvaccessAuto commented Oct 8, 2015

Reported by jteh on 2015-10-08 23:16
From a HumanWare developer:

In order to fix a problem connection we have with the Brailliant on Windows 10, we decided to use the same USB driver as the BrailleNote Apex for the virtual COM port.

Unfortunately, with this new USB driver, we just found out that NVDA is having a problem when trying to reconnect a second time to the Brailliant. The first time we start or select the Brailliant as the Braille display, it works just fine. But when changing to another display and going back to the Brailliant, or stopping or restarting NVDA, we encounter the issue. NVDA will just “hang” and stop responding. When we unplug the Brailliant, we receive a “Could not load brailliantb display” error message, and then everything goes back to normal and NVDA starts responding again.

...

We found a simple fix for the connection issue, but it requires a little modification of the Brailliant driver in NVDA.

It seems that with our new USB driver that works under Window 10, the Brailliant ignores the first command after a reconnection. By always sending the INIT message twice, we make sure the Brailliant receives the message and reply as expected.

So I suggest you add a second call to self._sendMessage(MSG_INIT) in BrailliantB.py before calling self._handleResponses(wait=True). If not, the process might get stuck on handleResponse.

There is no problem sending the INIT message multiple times.

@nvaccessAuto

This comment has been minimized.

Show comment
Hide comment
@nvaccessAuto

nvaccessAuto Oct 19, 2015

Comment 1 by James Teh <jamie@... on 2015-10-19 05:13
In commit d97f1ec:
Merge branch 't5406' into next

Incubates #5406.
Changes:
Added labels: incubating

nvaccessAuto commented Oct 19, 2015

Comment 1 by James Teh <jamie@... on 2015-10-19 05:13
In commit d97f1ec:
Merge branch 't5406' into next

Incubates #5406.
Changes:
Added labels: incubating

@nvaccessAuto

This comment has been minimized.

Show comment
Hide comment
@nvaccessAuto

nvaccessAuto Nov 1, 2015

Comment 2 by James Teh <jamie@... on 2015-11-01 22:23
In commit 453c6f2:
NVDA no longer freezes in some cases when reconnecting to a HumanWare Brailliant BI/B series display via USB.

Fixes #5406.
Changes:
Removed labels: incubating
State: closed

nvaccessAuto commented Nov 1, 2015

Comment 2 by James Teh <jamie@... on 2015-11-01 22:23
In commit 453c6f2:
NVDA no longer freezes in some cases when reconnecting to a HumanWare Brailliant BI/B series display via USB.

Fixes #5406.
Changes:
Removed labels: incubating
State: closed

@nvaccessAuto nvaccessAuto added this to the 2015.4 milestone Nov 10, 2015

jcsteh added a commit that referenced this issue Nov 23, 2015

NVDA no longer freezes in some cases when reconnecting to a HumanWare…
… Brailliant BI/B series display via USB.

Fixes #5406.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment