Error loading Brailliant BI driver #6845

Closed
MichelSuch opened this Issue Feb 4, 2017 · 22 comments

Comments

Projects
None yet
4 participants
@MichelSuch

A user reports me the following problem:
He tries to connect a Brailliant BI 40 display via bluetooth and gets the following error (part of log below).
This happens on his 2 machines:
Log:
INFO - braille.BrailleHandler.setDisplayByName (17:18:31):
Loaded braille display driver noBraille, current display has 0 cells.
ERROR - braille.BrailleHandler.setDisplayByName (17:18:33):
Error initializing display driver
Traceback (most recent call last):
File "braille.pyc", line 1259, in setDisplayByName
File "brailleDisplayDrivers\brailliantB.pyc", line 125, in init
File "hwIo.pyc", line 150, in init
File "serial\serialwin32.pyc", line 30, in init
File "serial\serialutil.pyc", line 260, in init
File "serial\serialwin32.pyc", line 56, in open
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 23: ordinal not in range(128)

@dkager

This comment has been minimized.

Show comment
Hide comment
@dkager

dkager Feb 5, 2017

Collaborator

It looks like the encoding error masks the actual error in serialwin32.py line 54:
if self.hComPort == win32.INVALID_HANDLE_VALUE:

Collaborator

dkager commented Feb 5, 2017

It looks like the encoding error masks the actual error in serialwin32.py line 54:
if self.hComPort == win32.INVALID_HANDLE_VALUE:

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 5, 2017

Contributor

@MichelSuch: Can you please enable hwIo debugging and provide a debug log as described in this article?

@dkager: It looks like this UnicodeDecodeError problem might be fixed in pyserial 2.7. We considered upgrading to that in #6068, but it turned out there was no benefit. I think this is a good enough reason to upgrade. :)

Contributor

jcsteh commented Feb 5, 2017

@MichelSuch: Can you please enable hwIo debugging and provide a debug log as described in this article?

@dkager: It looks like this UnicodeDecodeError problem might be fixed in pyserial 2.7. We considered upgrading to that in #6068, but it turned out there was no benefit. I think this is a good enough reason to upgrade. :)

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 6, 2017

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 6, 2017

Contributor
Contributor

jcsteh commented Feb 6, 2017

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 6, 2017

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 6, 2017

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 6, 2017

Contributor

I'm definitely not seeing it in your log text. I'm guessing the log has been truncated, probably because it was too big to be included as a comment. Please try attaching the file via the web interface. Note that you'll probably need to rename it to have a .txt extension if you haven't already. Thanks.

Contributor

jcsteh commented Feb 6, 2017

I'm definitely not seeing it in your log text. I'm guessing the log has been truncated, probably because it was too big to be included as a comment. Please try attaching the file via the web interface. Note that you'll probably need to rename it to have a .txt extension if you haven't already. Thanks.

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 6, 2017

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 6, 2017

Contributor
Contributor

jcsteh commented Feb 6, 2017

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 6, 2017

nvda.log.zip
Ok, let's try with GitHub: here is the file

nvda.log.zip
Ok, let's try with GitHub: here is the file

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 6, 2017

Contributor

Thanks. Can you please have this person try this try build? Does this fix the problem? If not, please provide another debug log with this build.

Contributor

jcsteh commented Feb 6, 2017

Thanks. Can you please have this person try this try build? Does this fix the problem? If not, please provide another debug log with this build.

@jcsteh jcsteh added the p2 label Feb 6, 2017

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 7, 2017

Hi,

Still does not work, here is the new log
nvda.log.zip

Hi,

Still does not work, here is the new log
nvda.log.zip

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 7, 2017

Contributor

Sorry. I didn't account for something in that build, so it wouldn't have made any difference. Please try this build instead.

Contributor

jcsteh commented Feb 7, 2017

Sorry. I didn't account for something in that build, so it wouldn't have made any difference. Please try this build instead.

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 7, 2017

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 7, 2017

Here is a new log, since the latest build works on his desktop but still fails on his laptop
nvda.log.zip

Here is a new log, since the latest build works on his desktop but still fails on his laptop
nvda.log.zip

@dkager

This comment has been minimized.

Show comment
Hide comment
@dkager

dkager Feb 7, 2017

Collaborator

Are you sure he upgraded? This looks like the same error to me.

Collaborator

dkager commented Feb 7, 2017

Are you sure he upgraded? This looks like the same error to me.

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 7, 2017

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 7, 2017

Hmmm,
He used the latest test version, but he did not sed me the good log file!
so here is the good one, sorry for inconvenience.
nvda.log.zip

Hmmm,
He used the latest test version, but he did not sed me the good log file!
so here is the good one, sorry for inconvenience.
nvda.log.zip

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 8, 2017

Contributor
Contributor

jcsteh commented Feb 8, 2017

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Feb 8, 2017

@MichelSuch

This comment has been minimized.

Show comment
Hide comment
@MichelSuch

MichelSuch Mar 20, 2017

Hi,
According to user's experience, this issue seems to be solved. So this ticket could be closed.

Hi,
According to user's experience, this issue seems to be solved. So this ticket could be closed.

@MichelSuch MichelSuch closed this Mar 20, 2017

@jcsteh jcsteh reopened this Mar 20, 2017

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Mar 20, 2017

Contributor

It's fixed on next now, but it hasn't been merged to master yet. It's possible the problem has gone away for some users, but the potential still exists, so we should still merge this to master once it's done incubating on next.

Contributor

jcsteh commented Mar 20, 2017

It's fixed on next now, but it hasn't been merged to master yet. It's possible the problem has gone away for some users, but the potential still exists, so we should still merge this to master once it's done incubating on next.

@jcsteh jcsteh closed this in #6854 Mar 29, 2017

@nvaccessAuto nvaccessAuto added this to the 2017.2 milestone Mar 29, 2017

jcsteh added a commit that referenced this issue Mar 29, 2017

Update to pySerial 2.7. (PR #6854, issue #6845)
This is needed to fix a UnicodeDecodeError in some languages when opening a serial port fails. This was preventing braille display drivers from trying further ports which might have worked.
pySerial is now included as its own git submodule, rather than as part of miscDeps. This necessitated adding its directory to the Python module search path in sourceEnv. Also, scons now sets the PYTHONPATH environment variable based on sourceEnv, rather than having the directories listed in two separate places.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment