Skip to content

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

@nvaccessAuto

Description

@nvaccessAuto

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.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions